.icon-container {
  position: relative;
  flex-shrink: 0;
}
.icon-image {
  border-radius: 0.5rem;
  object-fit: cover;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
}
.icon-fallback {
  border-radius: 0.5rem;
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 700;
}
.icon-size-sm {
  width: 2rem;
  height: 2rem;
  font-size: 0.625rem;
}
.icon-size-md {
  width: 2.5rem;
  height: 2.5rem;
  font-size: 0.75rem;
}
.icon-size-lg {
  width: 3rem;
  height: 3rem;
  font-size: 0.875rem;
}
.icon-size-xl {
  width: 4rem;
  height: 4rem;
  font-size: 1rem;
}